package com.zhuss.exception;

public enum ExceptionCode {

	/******************* 公共CODE  [1, 10000) ************************/
	
	非法SQL(999, "非法SQL"),
	非法人类(998, "非法人类"),
	
	登录失败(1001, "登录失败"),
	注册失败(1002, "注册失败"),
	导出失败(1003, "导出失败"),
	数据不存在(1004, "数据不存在"),
	数据不存在2(1004, "数据不存在%s"),

	用户名或密码为空(1005, "用户名或密码为空"),
	手机号或验证码为空(1005, "手机号或验证码为空"),
	用户名或密码错误(1006, "用户名或密码错误"),
	手机号或验证码错误(1006, "手机号或验证码错误"),
	验证码错误(1006, "验证码错误"),
	验证码过期(1006, "验证码过期"),
	header设置失败(1007, "header设置失败"),

	请选择文件(1008, "请选择文件"),
	上传失败(1009, "上传失败"),

	旧密码为空(1010, "旧密码为空"),
	新密码为空(1011, "新密码为空"),
	再次新密码为空(1012, "再次新密码为空"),
	新密码不一致(1013, "新密码不一致"),
	旧密码错误(1014, "旧密码错误"),
	解绑异常(1015, "解绑异常"),
	二维码错误(1016, "二维码错误"),

	生成缩略图失败(1017, "生成缩略图失败"),

	请选择数据(1018,"请选择数据"),


	微信支付证书加载错误(1501, "微信支付证书加载错误"),
	微信支付获取签名错误(1502, "微信支付获取签名错误"),
	微信支付下单错误(1503, "微信支付下单错误"),
	车票ID不存在(1504, "车票ID不存在"),
	车票不存在(1505, "车票不存在"),
	车票价格已过期(1506, "车票价格已过期"),
	微信订单查询错误(1507, "微信订单查询错误"),
	微信订单退款错误(1508, "微信订单退款错误"),
	退款的支付单不存在(1509, "退款的支付单不存在"),
	微信退款查询错误(1510, "微信退款查询错误"),
	微信退款失败(1511, "微信退款失败%s"),
	车票订单已过期(1512, "车票订单已过期"),


	手机号为空(1601,"手机号为空"),
	短信发送失败(1602,"短信发送失败"),

	登录超时(110, "登录超时"),
	用户信息过期(110, "用户信息过期"),
	未选择区域(112, "未选择区域"),

	OPEN_ID为空(113, "OPEN_ID为空"),

	登录凭证code无效(114, "登录凭证code无效"),

	微信授权接口服务通信失败(115, "微信授权接口服务通信失败"),

	没有url访问权限(2000, "无权限"),

	服务异常(2001, "服务异常"),

	不能给父级资源绑定权限(2100, "不能给父级资源绑定权限"),

	/******************* 基础模块CODE  [10000, 20000) ************************/

	不能删除父级资源点(10000, "不能删除父级资源点"),
	不能删除已绑定权限的资源点(10002, "不能删除已绑定权限的资源点"),

	不能删除父级权限点(10004, "不能删除父级权限点"),
	不能删除已绑定资源的权限点(10006, "不能删除已绑定资源的权限点"),
	不能删除已绑定角色的权限点(10008, "不能删除已绑定角色的权限点"),

	不能删除已绑定权限的角色(10010, "不能删除已绑定权限的角色"),

	不能删除已绑定角色的用户(10012, "不能删除已绑定角色的用户"),

	不能删除已绑定部门的用户(10014, "不能删除已绑定部门的用户"),

	不能删除已绑定用户的角色(10016, "不能删除已绑定用户的角色"),

	不能删除有业务数据用户(10018, "不能删除有业务数据用户"),

	不能删除公共资源(10020, "不能删除公共资源"),

	用户账号为空(10100, "用户账号为空"),
	用户名字为空(10102, "用户名字为空"),
	用户账号已存在(10104, "用户账号已存在"),
	用户ID为空(10106, "用户ID为空"),
	用户公司为空(10108, "用户公司为空"),
	用户部门为空(10110, "用户部门为空"),
	当前用户不满足启用条件(10112, "当前用户不满足启用条件"),
	当前用户不满足停用条件(10114, "当前用户不满足停用条件"),
	当前用户不满足绑定openId条件(10116, "当前用户不满足绑定openId条件"),
	单位不存在(10116, "单位不存在"),
	角色不存在(10118, "角色不存在"),
	姓名为空(10120, "姓名为空"),
	入驻单位为空(10122, "入驻单位为空"),
	单位名称为空(10124, "单位名称为空"),
	角色为空(10126, "角色为空"),
	性别为空(10128, "性别为空"),
	电话为空(10130, "电话为空"),
	年龄格式错误(10132, "年龄格式错误"),
	账号已存在(10134, "账号已存在"),

	资源name为空(10200, "资源name为空"),
	资源url为空(10202, "资源url为空"),
	资源name已存在(10204, "资源name已存在"),
	资源url已存在(10206, "资源url已存在"),
	资源ID为空(10208, "资源ID为空"),
	资源父级为空(10210, "资源ID为空"),
	资源父级不能为自己(10212, "资源父级不能为自己"),

	权限name为空(10300, "权限name为空"),
	权限name已存在(10302, "权限name已存在"),
	权限ID为空(10304, "权限ID为空"),
	权限父级为空(10306, "权限ID为空"),
	权限父级不能为自己(10308, "权限父级不能为自己"),


	角色name为空(10400, "角色name为空"),
	角色name已存在(10402, "角色name已存在"),
	角色ID为空(10404, "角色ID为空"),
	当前角色不满足启用条件(10406, "当前餐品不满足启用条件"),
	当前角色不满足停用条件(10408, "当前餐品不满足停用条件"),


	区域name为空(10500, "区域name为空"),
	区域name已存在(10502, "区域name已存在"),
	区域ID为空(10504, "区域ID为空"),
	不能删除有公司的区域(10506, "不能删除有公司的区域"),
	不能删除有用户的区域(10508, "不能删除有用户的区域"),
	不能删除有角色的区域(10510, "不能删除有角色的区域"),


	公司name为空(10600, "公司name为空"),
	公司name已存在(10602, "公司name已存在"),
	公司ID为空(10604, "公司ID为空"),
	不能删除有用户的公司(10606, "不能删除有用户的公司"),
	不能删除有部门的公司(10608, "不能删除有部门的公司"),
	所属公司为空(10609, "所属公司为空"),
	当前公司下有车辆(10610, "当前公司下有车辆"),
	当前公司下有驾驶员(10611, "当前公司下有驾驶员"),


	部门name为空(10700, "部门name为空"),
	部门name已存在(10702, "部门name已存在"),
	部门ID为空(10704, "部门ID为空"),
	不能删除有用户的部门(10706, "不能删除有用户的部门"),
	部门公司ID为空(10708, "部门公司ID为空"),

	配置type为空(10800, "配置type为空"),
	配置value为空(10802, "配置value为空"),
	配置sort为空(10804, "配置sort为空"),
	配置value已存在(10806, "配置value已存在"),
	配置类型type为空(10808, "配置类型type为空"),
	配置类型value为空(10810, "配置类型value为空"),
	配置类型type已存在(10812, "配置类型type已存在"),
	配置类型value已存在(10814, "配置类型value已存在"),
	不能删除包含配置的配置类型(10816, "不能删除包含配置的配置类型"),
	不能删除业务的配置(10818, "不能删除业务的配置"),
	配置类型type不存在(10820, "配置类型type不存在"),
	请预设顺序值(10822, "请预设顺序值"),
	配置类型顺序已存在(10824, "配置类型顺序已存在, 目前最高%s"),
	配置顺序已存在(10826, "配置顺序已存在, 目前最高%s"),

	标题为空(10900, "通知公告标题为空"),
	标题已存在(10901, "通知公告标题已存在"),
	内容为空(10902, "通知公告内容为空"),
	通知公告类型为空(10903, "通知公告类型为空"),
	通知公告ID为空(10904, "通知公告ID为空"),
	当前通知公告不满足启用条件(10905, "当前通知公告不满足启用条件"),
	当前通知公告不满足停用条件(10906, "当前通知公告不满足停用条件"),

	意见反馈标题为空(11000, "意见反馈标题为空"),
	意见反馈标题已存在(11001, "意见反馈标题已存在"),
	意见反馈内容为空(11002, "意见反馈内容为空"),
	意见反馈ID为空(11004, "意见反馈ID为空"),
	当前意见反馈不满足启用条件(11005, "当前意见反馈不满足启用条件"),
	当前意见反馈不满足停用条件(11006, "当前意见反馈不满足停用条件"),




	/******************* 车辆CODE  [15000, 20000) ************************/
	车辆plateNo为空(15000, "车辆plateNo为空"),
	车辆ID为空(15001, "车辆ID为空"),
	车辆plateNo已存在(15002, "车辆plateNo已存在"),
	乘车类型为空(15003, "乘车类型为空"),
	车辆类型为空(15004, "车辆类型为空"),
	核载数量为空(15005, "核载数量为空"),
	该车辆已被班次使用(15006, "该车辆已被班次使用"),


	驾驶员driverNo为空(16001, "驾驶员编号为空"),
	驾驶员driverNo已存在(16002, "驾驶员编号已存在"),
	驾驶员Name为空(16003, "驾驶员名称为空"),
	驾驶员ID为空(16004, "驾驶员ID为空"),
	驾驶员手机号为空(16005, "驾驶员手机号为空"),
	该驾驶员已被排班次(16006, "该驾驶员已被排班次"),


	当前数据不满足启用条件(17001, "当前数据不满足启用条件"),
	当前数据不满足停用条件(17002, "当前数据不满足停用条件"),
	
	当前数据不满足置为模板(17003, "当前数据不满足置为模板"),


	/******************* 商品模块CODE  [20000, 25000) ************************/
	站点名称为空(20000, "站点名称为空"),
	站点已经存在(20001, "站点已经存在"),
	站点ID为空(20002, "站点ID为空"),
	该站点已被线路绑定(20003, "该站点已被线路绑定"),
	经度为空(20004, "经度为空"),
	纬度为空(20005, "纬度为空"),
	票价权重为空(20006, "票价权重为空"),
	间隔时间为空(20007, "间隔时间为空"),
	站点在使用中(20008, "站点在使用中"),


	线路name为空(21000, "线路名称为空"),
	线路name已存在(21001, "线路名称或编号已经存在"),
	线路ID为空(21002, "线路ID为空"),
	线路编号为空(21003, "线路编号为空"),
	出行方式为空(21004, "出行方式为空"),
	该线路下有运营的车次(21005, "该线路下有运营的车次"),
	起点名称为空(21006, "起点名称为空"),
	终点名称为空(21007, "终点名称为空"),
	首站名称和线路起点名称不一致 (21008, "首站名称和线路起点名称不一致"),
	末站名称和线路终点名称不一致 (21009, "末站名称和线路终点名称不一致"),
	是否售卖为空 (21010, "是否售卖为空"),
	
	新线招募班次不能为空(21011, "新线招募班次不能为空"),
	新线招募班次不能多班次(21012, "新线招募班次不能多班次"),
	新线招募有人报名不能停用(21013, "新线招募有人报名不能停用"),

	新线name为空(22000, "新线名称为空"),
	新线name已存在(22001, "新线已经存在"),
	新线ID为空(22002, "新线ID为空"),

	车次id为空(23000, "车次id为空"),
	该班次类别下没有运营日期(23001, "所选班次类别下没有可运营的日期！"),
	该线路下没有绑定站点(23002, "当前线路下没有绑定站点！"),
	当前车次不满足运营条件(23003, "当前车次不满足运营条件！"),
	当前车次不满足停用条件(23004, "当前车次不满足停用条件！"),
	请选择要发布的班次(23005, "请选择要发布的班次！"),
	日期班次已经存在(23006, "日期班次已经存在！"),
	班次编号在运营(23007, "班次在运营中%s"), // throw new AabException(ExceptionCode.在运营, "food", foodId + "");
	策略ID为空(23008, "策略ID为空"),
	当前班次正在运营中(23009, "当前班次正在运营中，不能进行站点编辑"),
	此数据不允许当前操作(23010,"此数据不允许当前操作"),
	所选日期大于维护日期(23011,"所选日期大于维护日期"),
	运营开始日期不能为空(23012,"运营开始日期不能为空"),
	运营结束日期不能为空(23013,"运营结束日期不能为空"),
	所选车辆和司机不属于一家公司(23014,"所选车辆和司机不属于一家公司"),
	当前车次下有订单信息(23015,"当前车次下有订单信息！"),
	售卖状态为空(23016,"售卖状态为空"),
	请到车次维护进行售卖操作(23017,"请到车次维护进行售卖操作"),



	上车站点为空(24000, "上车站点为空"),
	下车站点为空(24001, "下车站点为空"),
	线路类型为空(24002, "线路类型为空"),

	新线招募已报名(25000,"新线招募已报名"),
	新线招募未报名(25001,"新线招募未报名"),
	已有报名信息(25002,"已有报名信息"),





	/******************* 个人需求CODE  [25000, 30000) ************************/
	乘坐方式为空(25001, "乘坐方式为空"),
	出行目的为空(25002, "出行目的为空"),


	/******************* 订单管理模块CODE  [50000, 60000) ************************/
	订单name为空(50000, "订单名称为空"),
	订单name已存在(50001, "订单已经存在"),
	订单ID为空(50002, "订单ID为空"),
	请选择具体车次下单(50003, "请选择具体车次下单"),
	请选择具体站点下单(50004, "请选择具体站点下单"),
	价格不合法(50005, "价格不合法"),
	请选择具体商品下单(50006, "请选择具体商品下单"),
	日期车次或库存已过期(50007, "日期车次或库存已过期"),
	库存不足(50008, "库存不足"),
	当前订单不满足取消条件(50009, "当前订单不满足取消条件"),
	每个用户只能取消自己的订单(50010, "每个用户只能取消自己的订单"),
	订单ID不存在(50011, "订单ID不存在"),
	订单价格已过期(50012, "订单价格已过期"),
	当前订单不满足提交支付(50013, "当前订单不满足提交支付"),
	订单已过期(50014, "订单已过期"),
	经停站点与车次线路不符(50015, "经停站点与车次线路不符"),
	价格已过期(50016, "价格已过期"),
	未支付不能确认上车(50017, "未支付不能确认上车"),
	确认上车的车票不存在(50018, "确认上车的车票不存在"),
	车次不存在或未支付(50019, "车次不存在或未支付"),
	已确认上车_不能退款(50020, "已确认上车_不能退款"),
	已买过该车次车票(50021, "已买过该车次车票"),
	暂无车票(50022, "暂无车票"),
	未到上车时间(50023, "未到上车时间"),
	无需退款(50024, "无需退款"),
	请勿重复退款(50025, "请勿重复退款"),
	已过最晚购票时间(50026, "已过最晚购票时间"),

	/******************* 意见建议模块CODE  [40000, 50000) ************************/


	/******************* 会务管理模块CODE  [50000, 60000) ************************/


	/******************  物业管理模块CODE [60000, 70000) ************************/

	;

	Integer code;

	String msg;

	ExceptionCode(Integer code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	public Integer getCode() {
		return code;
	}

	public void setCode(Integer code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

}
